define(()=>{
    return function(goodsMsg,res){
        //  给数量按钮添加事件
        $(".spcar").on("input",".setNum",function(){

              // 获取这次事件发生的那一行的id
            const id =  $(this).parent().parent().attr("index");

          //  用some方法找出跟事件id一样的val数据的索引
              let i = 0;           
            goodsMsg.some((val,idx)=>{
              i=idx;
             return val.id===id
            });

            // 把goodsmsg的num属性改成事件触发后修改成的数量
              goodsMsg[i].num =Number($(this).val()) ;

              // 重新存入localstorage
       localStorage.setItem("goodsMsg",JSON.stringify(goodsMsg));



      
    // 重新执行
        let str="";
        res.forEach( val1=>{
         
                      goodsMsg.forEach(val2=>{ 
                       //  console.log("1");
                          if(val1.goodsId===val2.id){
                           //  console.log("888");
                            str+=`     
                            <tr  index="${val1.goodsId}">
                                
                            <td  height="50px"><input type="checkbox"${val2.flag?"checked":"" } class="fxk"> </td>
                                <td width="100" height="50px"></td>
                                <td width="200"  align="left"><img src="${val1.proImg}" alt="" class="bgtp">${val1.proName}</td>
                                <td width="100" align="center">皮肤</td>
                                <td width="120">${val1.qb}Q币</td>
                                <td width="100">永久</td>
                                <td width="100"><input type="number" value="${val2.num}" class="setNum" min="0" width="20px"></td>
                                <td width="94">无优惠</td>
                                <td width="146" class="sall">${val1.qb*val2.num}Q币</td>
                                <td width="136"><a href="">关注</a><a href="" class="scsj">删除</a></td>
                            </tr> `
                              
                          }
                      }
     
                      )
                  // 渲染购物车全部数据
        $(".spcar").html(str);     
        }) 
      

          // 计算总数单独渲染到页面
        let apgwc = goodsMsg.reduce((start,val)=>val.flag?start+=val.num:start,0);
        console.log(apgwc);
        $(".gwccc").html(apgwc);  

        //  利用归并计算所有商品总价单独插入页面
       let ap = goodsMsg.reduce((start,val)=>val.flag?start+=val.num*val.price:start,0)
        $(".allprice").html(ap);
        

           
              

            // 修改购买按钮颜色
            if($('.allprice').text()==0){          
              $(".tjan").css("background","#666");           
             }else{
               $(".tjan").css("background","red") 
             
             }
       
             })
             
    }
});